Generated messaging to view content on media devices

ABSTRACT

Techniques, systems, and methods are disclosed to generate messaging to view content on media devices based on predictive factors. Information may be received to trigger one or more predictive factors and then generate a candidate set of offers to view content at a media device based on the information. Based on the one or more predictive factors, confidence values may be determined for each offer in the candidate set of offers. The candidate set of offers may be ranked based on the associated confidence values. Subsequently, presentation of at least one offer of the candidate set of offers may be caused to display in a user interface screen on the media device based on the ranking.

FIELD OF THE DISCLOSURE

The present disclosure relates to the field of media devices. Thedisclosure relates more specifically to techniques for generatingmessages to view content on media devices based on predictive factors.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

The introduction of the DVR to the consumer world has revolutionized theway users watch and record television programs. DVRs eliminate many ofthe complications of VCRs and the need for video tapes. DVRs recordtelevision programs and media content on a storage drive that is capableof storing a large amount of content. Because DVRs are usually box-likein shape, and are often found sitting on top of the television sets towhich they are connected, DVRs typically are included in the broadcategory of devices now called “set-top boxes.” Much like VCRs, DVRsreceive one or more television signals (which may represent televisionprograms and/or movies) as input from cables or satellite dishes, (or,in some cases, unlike VCRs, from broadband network connections) and alsooutput television signals to a television set or other display.

A DVR's user can instruct the DVR to schedule, for recording, specifiedcontent that may be broadcasted or otherwise transmitted to the DVR atsome future time. Thus, the user can schedule the automatic recording ofthe content in advance of the time that the DVR will receive thecontent. For example, the user can instruct the DVR to recordunspecified content that will be broadcasted on a specified channelbeginning at a specified date and time and ending at another specifiedtime. For another example, the user can instruct the DVR to record aspecified showing (on a specified channel, and beginning at a specifieddate and time) of a specified movie, specified event, or specifiedepisode of a multi-episode television series. For another example, theuser can instruct the DVR to record the next to-be-broadcasted instanceof a specified movie, specified event, or specified episode of amulti-episode television series without specifying the date, time, orchannel on which that instance will be broadcasted. For another example,the user can instruct the DVR to record all (or all first-run) episodesof a multi-episode television series on a specified channel withoutspecifying the dates or times at which those episodes will bebroadcasted. For another example, the user can instruct the DVR torecord all (or all first-run) instances of movies, events, or episodesof a multi-episode television series that are associated with aspecified keyword, a specified actor, and/or a specified directorwithout specifying the titles, channels, or broadcasting times of thoseinstances.

Other consumer electronics devices also allow for the recording andviewing of content not based upon traditional broadcast or cabledelivery. For example, devices might obtain content via broadbandnetwork connections. Apple TV® is an example of this type of device.Users may purchase content over the network and have the content bedelivered based upon IP or any other communications protocol. Devicesthat employ Internet Protocol Television (IPTV) may also be used. IPTVis a system where a digital television service is delivered usingInternet Protocol over a network infrastructure. Rather than usingbroadcast or cable, all content is exclusively delivered over an IPnetwork architecture. An example of such a service is U-Verse® by AT&T®.Devices may also use a hybrid of IPTV and standard delivery. VerizonFiOS TV®, for example, delivers Video On Demand (VOD) content andinteractive features, over IP but the vast majority of content,including Pay Per View (PPV), is provided over a standard broadcastvideo signal which carries both analog and digital content. Otherdevices may act as a receiver to deliver content from a number ofdifferent delivery devices, such as DVRs, DVD players, IPTV, etc. thatare connected to the device.

Because of the wide variety of content that is available for viewingwith DVRs and any other device capable of storing and displayingcontent, providing offers for particular media or digital content hasbecome increasingly important. One difficulty of surfacing, orproviding, media or digital content to a user is the difficulty ofpredicting what content the user would like to view. Thus, methods thattailor discoverable content to the user are important.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 depicts a high level block diagram of an example networkedcomputer environment in which an embodiment may be implemented;

FIG. 2 depicts an interaction flow diagram of an example networkedcomputer environment in which an embodiment may be implemented;

FIG. 3 is a flow diagram of an example process for generating offers toview content on media devices based on predictive factors;

FIG. 4 is a block diagram that illustrates a computer system upon whichan embodiment of the invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Embodiments are described herein according to the following outline:

1.0. General Overview

2.0. Operating Environment

3.0. Functional Overview

-   -   3.1. Predictive Factors    -   3.2. Offer Generation    -   3.3. Offer Presentation

4.0. Implementation Mechanism—Hardware Overview

5.0. Extensions and Alternatives

1.0 General Overview

Approaches, techniques, and mechanisms are disclosed related toproviding content discovery, and predicting content items that a usermay want to watch now based on user viewing behavior habits. In thiscontext, a “content item” may include full length television episodes,movies, television series, movie genre, collections of content, userlists of content, clips of other content items, and any other type ofmedia, such as a broadcasted television program, movie, sporting event,awards show, music video, advertisement, and so on.

Users are creatures of habit. A remote system, having one or morecomputing resources in a networked environment, may collect userbehaviors, such as viewing a rerun of a syndicated television show suchas WILL & GRACE that is broadcasted at 7 pm on Wednesday nights. Theuser may have a high affinity for the television series WILL & GRACE andhave a high tolerance for viewing old content items, based on originalair date. Information about the user, as well as other information suchas programming information, content availability on video platforms, andso forth may be used to determine predictive factors that may beassociated with content to offer to a user for viewing at any time.

In an embodiment, generating offers to view content on media devicesbased on predictive factors refers generally to one or more processesfor determining confidence values, or scores, to be associated with acontent item. The predictive factors may be based on the informationgathered about a user based on the user's viewing habits, completion ofcontent items, abandonment of content items (e.g., starting to watch,but not completing the content item), and so on. Offers to view contentmay be organized and presented in a user interface screen provided by amedia device, such as a DVR, cloud DVR, networked DVR, or other mediaserving device, where the user interface screen may include one or morefeeds, carousels of content, and so on. An offer may also be arecommendation, a notification, a call to action, a message, or anyother communication of an item of interest to a user based on therecordings stored and available at a media device.

In one example, a user may be presented with an offer to view contentbased on a day and time analysis factor that strongly links theparticular day and time combination with a desire to view an episodethat is being broadcasted currently, or ready-to-tune, or is availablethrough one or more over-the-top (OTT) methods of media consumption.Returning to the example of Wednesdays at 7 pm being a day and timecombination associated with the content item WILL & GRACE, the remotesystem may generate an offer to view content that is currently beingbroadcast with a ready-to-tune offer, enabling the user to automaticallyview the episode upon accepting the offer. This greatly improves theuser experience in reducing the time to view content that the userdesires to watch. In other examples, other factors may be used togenerate offers to view content, and different offers may be presentedalongside each other based on the different types of content that theremote system has determined to be of interest to the user. For example,a user may watch content on a mobile device during a commute home on atrain. The mobile device may be a media device that has limitedcapability in playing content based on network signal strength. As aresult, an offer to view content on the mobile device may take intoaccount the device's capabilities and availability of content to play onthat device.

In one embodiment, techniques are provided for determining confidencevalues for content tailored to a user's preferences based on viewinghabits and behaviors. Confidence values may take into account varioususer behaviors, such as frequently watching, in one session, episodes ina serial fashion of a television series. As a result of identifying sucha “binge watching” behavior, it may be determined that the very nextepisode in the series is overwhelmingly favored and/or predicted. A timedecay may be introduced in the computation of the confidence valuesbased on how recently the content was consumed.

In an embodiment, a media device is configured to provide and reportback user behavior data, such as selection of generated and/or predictedoffers to view content. A remote system may adjust or update confidencevalues based on a user's response to a generated offer. In oneembodiment, an offer may be generated in real-time based on a requestfrom a user. Real-time generated offers may use different techniquesbased on a user's expectation of a rapid response.

2.0. Operating Environment

FIG. 1 is a block diagram of an example system 100 for generating offersto view content on media devices based on predictive factors, inaccordance with one or more embodiments. System 100 comprises one ormore computing devices. These one or more computing devices comprise anycombination of hardware and software configured to implement the variouslogical components described herein. For example, the one or morecomputing devices may include one or more memories storing instructionsfor implementing the various components described herein, one or morehardware processors configured to execute the instructions stored in theone or more memories, and various data repositories in the one or morememories for storing data structures utilized and manipulated by thevarious components.

In one embodiment, a system 100 includes one or more media devices 102and one or more display devices 104. As used herein, a media device 102and display device 104 generally refers to any type of computing devicecapable of receiving media content items, such as television programs,movies, video on demand (VOD) content, etc., from a cable signal,terrestrial signal, digital network-based data, another media device,etc. In FIG. 1, for example, a media device 102 may include a TV-tunerinput that can be used to play, record, stream, and/or otherwise accessmedia content items received from one or more content sources 106. Forexample, one content source 106 may include a live television feed thatis provided by a cable operator; other example content sources 106include, but are not limited to, Video On Demand (VOD) libraries, thirdparty, or over-the-top (OTT), content providers (e.g., Netflix®, AmazonPrime®, etc.), web-based media content, satellite broadcast content,terrestrial broadcast content, etc. Example media devices 102 include,but are not limited to, a set-top box (STB), digital video recorders(DVRs), personal computers, tablet computers, handheld devices,televisions, and other computing devices.

In an embodiment, system 100 may further include one or more IP-enableddisplay devices 104. In general, an IP-enabled display device 104 mayrefer to any type of computing device that is capable of receiving mediacontent over one or more digital networks 110, such as the publicInternet, intranet, LAN, WAN, etc., but which may or may not include aTV-tuner input. Examples of portable devices 104 include, withoutlimitation, STBs, DVRs, personal computers, smartphones, tablets,laptops, game devices, media servers, digital media receivers,televisions, terrestrial antennas, etc. A typical user may own severalmedia devices 102 and/or display devices 104, which may be located andused at various locations throughout the user's home and elsewhere. Atypical user may employ a user input device 108 connected to a mediadevice 102 through a network 110.

In an embodiment, system 100 may include remote systems 154 that arecommunicatively coupled to a media device 102 through one or morenetworks 110. A media device 102 and display device 104 may also becommunicatively coupled to a one or more content sources 106 via one ormore networks 110. Networks 110 broadly represent one or more LANs,WANs, cellular networks (e.g., LTE, HSPA, 3G, older technologies, etc.),and/or internetworks using any of wired, wireless, terrestrialmicrowave, or satellite links, and may include the public Internet.Furthermore, each media device 102 and display device 104 may be coupledto one or more other media devices via one or more networks 110.

3.0 Functional Overview

FIG. 1 further illustrates an example media device 102 that includes auser interface (UI) module 112, a recording asset module 156, and arecordings database (DB) 160. FIG. 1 also illustrates content sources106, one or more remote systems 154, a display device 104, and a userinput device 108, each connected to the media device 102 throughnetworks 110.

3.1 Predictive Factors

One or more remote systems 154 may include various modules to provideinformation that triggers predictive factors used by media devices togenerate offers to view content based on the predictive factors, inaccordance with one or more embodiments. Although FIG. 1 illustrates aremote system 154 having a factors module 148 and a prediction engine150, one skilled in the art may understand that the functionalitydescribed in the various modules may be distributed among multipleremote systems 154, such as one or more remote servers, communicativelycoupled through one or more networks 110. For simplicity, only oneremote system 154 is illustrated. A factors module 148 may be used toidentify and determine factors, per user, that trigger associated offersof content to be presented for user consumption. A factors module 148may include a day/time analysis module 114, an oldness tolerance module116, an annual events module 118, a collection preference module 120, agenre preference module 122, a user behavior module 124, a sports/teamsmodule 126, and a frequency consumption module 128.

A day/time analysis module 114 may track user viewing habits atparticular days and times. For example, a user may watch a specificseries on Wednesdays after 6 pm, such as BIG BANG THEORY, knowing that anew episode will be recorded by then. As a result, the specific day andtime combination may be a predictive factor in presenting an offer tothe user to watch the series associated with the day and time. Inanother embodiment, the day/time analysis module 114 may determine fromhistorical user viewing habits that a particular genre of televisionshows and movies, such as Romantic Comedy, is watched on Saturdays at 8pm. Thus, that particular day and time combination may be associatedwith the Romantic Comedy genre. In a further embodiment, the day/timeanalysis module 114 may associate other types of user viewing habitswith particular day/time combinations, such as sports, special events,next episode in series, collections, previously watched content, bingewatching or marathon watching behavior, and the like. The day/timeanalysis module 114 may operate in conjunction with other modules in thefactors module 148 to associate types of content with day/timecombinations. In one embodiment, a content type affinity may begenerated as a predictive factor to determine what type of content anindividual will want to watch at any given day/time. For example, theremay be a television series that is watched at primetime on weeknightsversus movies that are watched on Saturday night during family time.Depending on available metadata, a content type affinity may be made asgranular as sitcoms versus hour-long shows, daily's versus weekly's, andso forth.

An oldness tolerance module 116 may determine a level of tolerance auser has for “old” contents and/or offers (by airing or release date),by which oldness reduces confidence. For example, a user may have a hightolerance in watching content, such as watching episodes of SEINFELD,SEX AND THE CITY, GOLDEN GIRLS and other series that run in syndication.As a result, the oldness of an episode may not reduce confidence basedon the high tolerance computed for the user. As another example, a usermay have a lower tolerance for old contents/offers based on viewinghabits of watching the newest episode of series that the user iswatching. In this case, the user's low tolerance for oldness impacts theconfidence score for available content.

An annual events module 118 may track and determine a user's habit inrecording and viewing special annual events. For example, the user mayhave previously viewed past Superbowl games. As a result, futureSuperbowl games may be weighted based on the user's past viewing habits.Other examples of annual events include award shows such as the Oscars,the Tonys, the Emmys, and MTV Video Music Awards. The annual eventsmodule 118 may determine that a particular annual event tied to aparticular day/time combination may have a higher confidence score basedon the past viewing habits of the user.

A collection preference module 120 may identify a user's affinity forcollections, or groupings, that may be available through the mediadevice 102. For example, a collection associated with STAR TREK mayinclude all movies and series associated with STAR TREK. Based on theuser's viewing habits of content items with in a particular collection,an affinity for the particular collection may be determined. Theaffinity for the particular collection may impact a confidence score fora particular content item based on its inclusion in the particularcollection. In one embodiment, a user may be “binge watching” atelevision series, such as 24, and as a result, the user's affinity forthe “24 Collection” may be very strong during the binge watching timewhile less strong at other times. The collection preference module 120may determine the user affinity score associated with a particularcollection based on user viewing multiple content items within thecollection.

A genre preference module 122 may determine an affinity for a particulargenre based on the user's past viewing habits for the particular genreof content. In one embodiment, a “favorite” genre may be determined bythe genre preference module 122 based on the past viewing habits of theuser. In another embodiment, the genre preference module 122 maydetermine top genres associated with day/time combinations as well asother ways to categorize viewing behavior, such as content type (e.g.,movies, television shows, clips), view type (e.g., linear, DVR play,OTT, VOD, etc.), age appropriateness, channel, and device (e.g., STB,mobile, etc.). For example, a mobile device may be used to primarilywatch Comedy shows or clips of short duration. Thus, a favorite genre ofComedy clips may be determined by the genre preference module 122 andassociated with potential offers to be presented on the mobile device.

A user behavior module 124 may track user behavior with respect topresented offers based on the one or more predictive factors. A user mayselect an offer based on the one or more predictive factors. This userbehavior may strengthen the associated predictive factors by adding moreweight to the factors that were used to present the offer. Conversely,the user may reject an offer, in one embodiment, by not selecting theoffer presented based on the one or more predictive factors. Inrejecting the offer, the impact of the factors on the confidence scoremay be reduced by the user behavior module 124. In other embodiments,the user behavior module 124 may track the user behavior with respect tothe presented offers in a data store or table. For example, a presentedoffer may be tagged as accepted or declined by the user behavior module124.

A sports/teams module 126 may identify particular types of sports,leagues, and teams that may be of strong interest to one or more usersof the media device 102 based on past view events, recorded assets, andthe like. For example, based on the viewing habits being reported by themedia device 102 that many NBA games with the GOLDEN STATE WARRIORS havebeen watched and/or recorded, an affinity for each of the NBA and forthe GOLDEN STATE WARRIORS may be determined by the sports/teams module126. As a result, based on the affinity for the NBA, an offer to watch acurrently playing NBA game may have more weight added in computing theconfidence score of the offer.

A frequency consumption module 128 may identify a rate of consumptionthat is indicative of a user's tendency to watch related content insuccession. For example, there may be 48 episodes of a series, includingmultiple seasons. The frequency consumption module 128 may determinethat a user is in a “binge watching” mode, meaning that the user iswatching related content in succession, such as episodes of a televisionseries, movies in a series of movies (such as Star Trek I-V, Lord of theRings, etc.), and portions of mini-series dramas. A rate of consumptionmay be a predetermined threshold, in one embodiment. In anotherembodiment, other measures or metrics may be used to determine that theuser is in a “binge watching” mode, such as watching more than oneepisode of a series. In a further embodiment, an “addiction” use-casealgorithm may be applied to determine a strong affinity for thetelevision series or movie series based on how quickly the user haswatched content.

A prediction engine 150 may include a confidence module 152 thatdetermines a confidence score associated with an offer. The confidencemodule 152 may include a quick response module 138, a filter module 140,and a time decay module 142. A prediction engine 150 may rely on anepisode relevancy function that computes the relevancy of an episode fora given user and/or profile based on the user and/or profile's pastviewing history and habits of the episode's parent series. If the userand/or profile has never watched any episodes of the series, thepopulation-wide viewership of the series is taken into account todetermine whether to favor either the first or the latest episode. Ifthere is no population-wide viewership, then the first episode isfavored.

A confidence module 152 may be used to determine a confidence scoreassociated with an offer to watch and/or record a content item. Forexample, an algorithm may be used by the confidence module 152 that usesa notion of slots to help ensure a varied blend of content types arereturned. Types of content for slots may include series, seriesrecommendation, movie genre, sports event, and special. For series, aseries day/time affinity may be used to determine a confidence score forparticular content items. As mentioned above, if a user regularlywatches the latest episode of a series, such as THE DAILY SHOW, at acertain day/time combination, it is a strong indicator that at the nextparticular day/time combination, the user will want to watch the latestepisode of the series. In one embodiment, a next episode algorithm maybe used to select the next available episode in the series.

A confidence module 152 may use other factors from the factors module148 to determine various confidence scores for content items. Forexample, for series recommendations, a popularity score may bedetermined for a popular series over the last 30 days as watched and/orrecorded by other users. Linear content that was popular during the sametime-slot the previous week may also be associated with a determinedpopularity score. One or more types of popularity scores may contributeto a confidence score for a content item as determined by the confidencemodule 152.

A quick response module 138 may determine a particular content itembased on the “binge watching” use case. Once it is determined that auser is in a binge mode, the quick response module 138 may present thenext recorded episode in the series immediately after the user finishesviewing a content. The quick response module 138 may use other factorsin determining one or more immediate offers to watch content, such asday/time analysis, user behavior, and frequency consumption. In oneembodiment, the quick response module 138 responds only to the bingewatching use case, based on a determination that the user is frequentlyconsuming content of a particular series or movie genre or other parentcontent. In another embodiment, the quick response module 138 may beused to generate additional predicted offers in real-time upon requestfrom a user.

A filter module 140 may filter content from being associated with anoffer to watch content. For example, lists of blacklisted content itemsmay be created for a user based on explicit user indications that aspecific collection, offer, asset should not be presented or shown as apredicted offer. In another embodiment, a user may have selectedsettings to preclude types of content or groupings of collections frombeing presented as an offer based on predictions, such as “adult”collections. In a further embodiment, groupings of collections may beprecluded from being presented as offers by the filter module 140 asdetermined by administrators of the system 100. Additionally, contentmay be filtered based on availability, in one embodiment, based on auser's entitlements. Content may be available through linear content,video-on-demand (VOD), OTT, by device, for purchase or for rent, and soforth.

A time decay module 142 may determine various time decay valuesassociated with confidence scores. Various factors may provide boosts inconfidence scores, such as day/time analysis, partially viewed content,frequency consumption, and so forth. However, a particular time decaymay be applied for each boost and may be determined based on the type offactor causing the boost in confidence score. Newly purchased and/orrented episodes may be determined to have a boosted confidence score bythe confidence module 152. The value of the boost may linearly decayfrom 1 to 0 over a 14-day period, for example. Similarly, newly recordedepisodes may also be boosted by the confidence module 152. The value ofthat boost may linearly decay from 1 to 0 over a 3-day period, forexample. Other boost values may be determined by the confidence module152, such as boosting, by a fixed amount, series with episodesreferenced from purchases and/or rentals where the expiration date iswithin 48 hours of the current time. In selecting a child content itemof a parent content item, such as an episode of a series or a movie of amovie genre, the confidence module 152 may also provide a boost forpartially viewed content where the user stopped watching the contentwithin the last 48 hours, for example. Other time decay algorithms maybe used by the time decay module 142.

3.2 Offer Generation

The prediction engine 150 may also include an offers module 110 thatgenerates offers to perform an action in association with a contentitem. Such actions may include playing, recording, or setting a reminderto watch a content item. The offers module 110 may include a linearoffers module 130, a partially viewed offers module 132, an over-the-top(OTT) offers module 134, and a recorded asset offers module 136.

A linear offers module 130 may generate offers that are available on a“ready-to-tune” linear basis, meaning the offer is currentlybroadcasting or is within 10 minutes of broadcasting and excludingbroadcasts that are within 5 minutes of ending. Read-to-tune may alsoinclude programs included in a short term cache for network DVRinstallations, in an embodiment.

A partially viewed offers module 132 may generate offers to view contentthat has been partially viewed by the user. For example, a user may havestarted an episode of a television series but stopped watching to view adifferent content item or for some other reason. Partially viewed offersmay have a predetermined confidence level based on a presumption thatthe user desires to finish the content item. Based on the recordingsstored at the media device 102, offers may be generated to encourageusers to finish content that has been partially viewed.

An over-the-top (OTT) offers module 134 may generate offers to viewcontent available “over-the-top,” meaning that the content may beavailable through a third party or over the top of a set top box, suchas Netflix, HULU, Amazon, and the like. Third parties may generateoffers for presentation on the media device 102, and the OTT offersmodule 134 may manage those third-party generated offers, in anembodiment. In other embodiments, the offers module 110 may determineavailability of a predicted content that is provided by a third party byusing the OTT offers module 134. For example, if a user does not haveaccess to a content offered by a third party, the offer may include anoption to subscribe, purchase, rent, or otherwise make available thecontent through a transaction with the third party.

A recorded asset offers module 136 may generate offers to view contentbased on the available recorded assets stored in the recording DB 160.Recorded asset means the program has started recording regardless if therecording has completed or not. The possible set of recorded-assets thatcan be selected for a prediction includes all recorded-assets at thetime which the client requests for a prediction. For network DVRinstallations, recorded-asset may also include programs included in along-term cache.

Other offers may be generated based on prior subscriptions tocollections to which a content and/or offer may belong. An offer may begenerated by the offers module 110 based on a confidence score,generated by the confidence module 152. The confidence score may reflecta confidence in whether the offer will be selected by the user, with thehighest confidence offer presented first, in an embodiment. In otherembodiments, offers may be presented according to a slot basedalgorithm, described above, to ensure a variety in types of predictedoffers presented. For each slot associated with a content type, thecontent with the highest confidence scores presented first. For example,if there are two slots for series, two slots for series recommendations,one slot for special events, one slot for genre, and two slots forpartially viewed content, the highest scoring content based onconfidence may be presented for each type of slot. In this way, avariety metric is determined for each offer in the set of candidateoffers.

3.3 Offer Presentation

The media device may further include a user interface (UI) module 112.The UI module 112 may include an offer presentation module 144 and auser selection module 146. The offer presentation module 144 may presentoffers generated by the offers module 110 as described above. In oneembodiment, the offer presentation module 144 may present offersaccording to a slot based algorithm to ensure a variety of contenttypes. In another embodiment, the offer presentation module 144 maypresent offers based on confidence level in a feed. In furtherembodiments, the offer presentation module 144 may present offers in anycombination of user interfaces generated by the UI module, such as acarousel, a feed, a popup window, and so forth. The offer presentationmodule 144 may display the offer through a user interface provided bythe media device 102 on a display device 104.

A user selection module 146 may receive a user selection of an offerbased on user input received from a user input device 108. Uponselection of the offer, the content associated with the offer isdelivered from a content source 106 or a recordings DB 106 to thedisplay device 104 by the media device 102. A media device 102 mayreport back various information items to the remote system 154 to bestored in association with the user and/or profile. For example, the 50most recently completed movies, 25 most recently abandoned movies(movies not completed), 25 most recently abandoned episodes, and perseries, 25 most recently completed episodes, syndication numberhigh-watermark, latest confidence value, next confidence value, andrandom confidence value.

FIG. 2 depicts an interaction flow diagram of an example networkedcomputer environment in which an embodiment may be implemented. A mediadevice 102, a remote system 154, a display device 104, and a user inputdevice 108 may be connected by one or more networks, as described above.A media device may generate 200 a user interface for viewing content onthe display device 104. The display device 104 may display 202 the userinterface as a result. The remote system 154 may monitor 204 eventsaffecting factors. Such events may include a day/time analysis todetermine a habit of a user to watch a specific type of content, such asthe latest episode of a series, a rerun of a syndicated series, a movieof a particular movie genre, a sports event or team game, special eventsthat occur annually, and so forth. Remote servers may then determine 206an event affecting a factor and subsequently generate 208 an offer basedon the factor and the event. This offer may be communicated to the mediadevice 102. In one embodiment, the media device 102 may create its ownoffers based on what has been recorded. The media device may thengenerate 210 presentation of the offer on the display device 104 on theuser interface. The display device 104 may display 212 the offer as aresult.

The user input device 108 may receive 214 user input based on thedisplayed offer and may communicate the user input to the media device102. The media device 102 may then provide 212 an outcome of the offerbased on the user input. For example, the offer may have been selectedsuch that the display device 104 displays 218 content associated withthe offer. Alternatively, the offer may have been rejected and the usermay have selected a different content to view. The display device 104displays 218 content based on user input as a result. The remote system154 updates 220 one or more confidence values associated with the factorbased on the outcome of the offer. For example, if the user selects theoffer, then the prediction is validated and a greater weight may beassigned to the factor in the future. In one embodiment, the one or moreconfidence values associated with the factor may be “boost” values asdescribed above. In another embodiment, the confidence values may be“affinity” values as described above.

The factor may then be updated 222 based on the event and the userinput. For example, the factor may be a day/time analysis that the userwatches a latest episode of a series at 6 pm on Thursdays. However, theuser input may have not selected to watch the latest episode at theappointed day/time combination and may have selected to watch a specialsporting event, such as the WINTER OLYMPICS. As a result, the day/timeanalysis factor may be updated with an exception that special factors,such as the WINTER OLYMPICS, may override day/time analysis factor.Other factors may be modified or added as a result of the update 222.

FIG. 3 is a flow diagram of an example process for generating offers toview content on media devices based on predictive factors. A method 300may include receiving 302 an information item triggering one or morepredictive factors. A candidate set of offers may then be generated 304based on the information item. A confidence value for each offer may bedetermined 306 in the candidate set of offers. The candidate set ofoffers may then be ranked 308 based on the associated confidence values.At least one offer of the candidate set of offers may be presented 310in a user interface screen based on the ranking.

4.0 Implementation Example—Hardware Overview

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices. Thespecial-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

For example, FIG. 4 is a block diagram that illustrates a computersystem 400 upon which an embodiment of the invention may be implemented.Computer system 400 includes a bus 402 or other communication mechanismfor communicating information, and a hardware processor 404 coupled withbus 402 for processing information. Hardware processor 404 may be, forexample, a general purpose microprocessor.

Computer system 400 also includes a main memory 406, such as a randomaccess memory (RAM) or other dynamic storage device, coupled to bus 402for storing information and instructions to be executed by processor404. Main memory 406 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 404. Such instructions, when stored innon-transitory storage media accessible to processor 404, rendercomputer system 400 into a special-purpose machine that is customized toperform the operations specified in the instructions.

Computer system 400 further includes a read only memory (ROM) 408 orother static storage device coupled to bus 402 for storing staticinformation and instructions for processor 404. A storage device 410,such as a magnetic disk or optical disk, is provided and coupled to bus402 for storing information and instructions.

Computer system 400 may be coupled via bus 402 to a display 412, such asa cathode ray tube (CRT), for displaying information to a computer user.An input device 414, including alphanumeric and other keys, is coupledto bus 402 for communicating information and command selections toprocessor 404. Another type of user input device is cursor control 416,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 404 and forcontrolling cursor movement on display 412. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

Computer system 400 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system 400 to be a special-purpose machine. Accordingto one embodiment, the techniques herein are performed by computersystem 400 in response to processor 404 executing one or more sequencesof one or more instructions contained in main memory 406. Suchinstructions may be read into main memory 406 from another storagemedium, such as storage device 410. Execution of the sequences ofinstructions contained in main memory 406 causes processor 404 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term “storage media” as used herein refers to any non-transitorymedia that store data and/or instructions that cause a machine tooperation in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, optical or magnetic disks, such as storage device 410.Volatile media includes dynamic memory, such as main memory 406. Commonforms of storage media include, for example, a floppy disk, a flexibledisk, hard disk, solid state drive, magnetic tape, or any other magneticdata storage medium, a CD-ROM, any other optical data storage medium,any physical medium with patterns of holes, a RAM, a PROM, and EPROM, aFLASH-EPROM, NVRAM, any other memory chip or cartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus 402. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 404 for execution. For example,the instructions may initially be carried on a magnetic disk or solidstate drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 400 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 402. Bus 402 carries the data tomain memory 406, from which processor 404 retrieves and executes theinstructions. The instructions received by main memory 406 mayoptionally be stored on storage device 410 either before or afterexecution by processor 404.

Computer system 400 also includes a communication interface 418 coupledto bus 402. Communication interface 418 provides a two-way datacommunication coupling to a network link 420 that is connected to alocal network 422. For example, communication interface 418 may be anintegrated services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of telephone line. As another example, communicationinterface 418 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN. Wireless links may also beimplemented. In any such implementation, communication interface 418sends and receives electrical, electromagnetic or optical signals thatcarry digital data streams representing various types of information.

Network link 420 typically provides data communication through one ormore networks to other data devices. For example, network link 420 mayprovide a connection through local network 422 to a host computer 424 orto data equipment operated by an Internet Service Provider (ISP) 426.ISP 426 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 428. Local network 422 and Internet 428 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 420and through communication interface 418, which carry the digital data toand from computer system 400, are example forms of transmission media.

Computer system 400 can send messages and receive data, includingprogram code, through the network(s), network link 420 and communicationinterface 418. In the Internet example, a server 430 might transmit arequested code for an application program through Internet 428, ISP 426,local network 422 and communication interface 418.

The received code may be executed by processor 404 as it is received,and/or stored in storage device 410, or other non-volatile storage forlater execution.

Interpretation of Terms

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. The specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense. The sole and exclusive indicator of the scope of the invention,and what is intended by the applicants to be the scope of the invention,is the literal and equivalent scope of the set of claims that issue fromthis application, in the specific form in which such claims issue,including any subsequent correction.

In the appended claims, any clause, element or limitation of a claimthat does not include the words “means for” is not intended to invoke orto be construed under 35 U.S.C. § 112(f). In the appended claims, anyclause, element or limitation that is expressed as a thing forperforming or configured to perform a specified function without therecital of structure, material or acts in support thereof is intended tobe construed to cover the corresponding structure, material or actsdescribed in the specification, and any other structure, material oracts that were known or in use as of the priority date to which thispatent document is entitled or reasonably foreseeable to those ofordinary skill in the art in view of the disclosure as a whole herein,and equivalents thereof.

Summary

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the invention may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

What is claimed is:
 1. A method comprising: receiving an informationitem triggering one or more predictive factors; generating a candidateset of offers to view content at a media device based on the informationitem; determining, based on the one or more predictive factors, aplurality of confidence values, wherein each respective confidence valueof the plurality of confidence values is associated with each respectiveoffer in the candidate set of offers; in response to determining that acontent item corresponding to a first offer of the candidate set ofoffers was partially viewed, boosting a first confidence value of theplurality of confidence values that is associated with the first offerof the candidate set of offers; decaying, after the boosting, the firstconfidence value of the plurality of confidence values that isassociated with the first offer of the candidate set of offers at apredetermined decay rate over a predetermined time period, wherein thepredetermined time period begins when the partially viewed content itemwas partially viewed; ranking the candidate set of offers based on theassociated confidence values; and causing presentation of at least oneoffer of the candidate set of offers in a user interface screen on themedia device based on the ranking, so as to display in the userinterface screen a set of the offers that changes in real-time manner,the set of the offers including, for a duration less than or equal tothe predetermined time period, an offer to view a remainder of thepartially viewed content item.
 2. The method of claim 1, wherein apredictive factor is triggered by at least one of (a) a day and timecombination associated with a user behavior associated with a particularcontent item, and (b) partially viewed duration time value associatedwith a particular content item.
 3. The method of claim 1, whereingenerating a candidate set of offers to view content further comprises:determining the candidate set of offers to view one or more recordedcontent items available on the media device based, at least in part, onthe one or more predictive factors associated with the content includingat least one or more of linear content, partially viewed content,over-the-top content, recorded asset content, content associated with acollection affinity value, or content associated with a genre affinityvalue; selecting the candidate set of offers based on a variety metricassociated with each offer of the candidate set of offers.
 4. The methodof claim 1, wherein generating a candidate set of offers to view contentfurther comprises: determining a frequency of consumption rate based onuser watching behavior associated with a series; based on the frequencyof consumption rate, determining the candidate set of offers associatedwith the content including at least one or more of over-the-top contentor recorded asset content, the content further comprising a next episodein the series.
 5. The method of claim 1, further comprising: receivinguser input associated with the presentation of the at least one offer inthe user interface screen on the media device; updating one or moreconfidence values associated with the one or more predictive factorsassociated with the at least one offer based on the user input.
 6. Themethod of claim 1, wherein causing presentation of at least one offer ofthe candidate set of offers in a user interface screen on the mediadevice further comprises: providing for display of the user interfacescreen on a display device communicatively coupled to the media device,the user interface screen including at least one of a feed, a carousel,or a notification screen.
 7. A non-transitory computer-readable mediumstoring instructions, wherein the instructions, when executed by one ormore processors, cause the one or more processors to perform: receivingan information item triggering one or more predictive factors;generating a candidate set of offers to view content at a media devicebased on the information item; determining, based on the one or morepredictive factors, a plurality of confidence values, wherein eachrespective confidence value of the plurality of confidence values isassociated with each respective offer in the candidate set of offers; inresponse to determining that a content item corresponding to a firstoffer of the candidate set of offers was partially viewed, boosting afirst confidence value of the plurality of confidence values that isassociated with the first offer of the candidate set of offers;decaying, after the boosting, the first confidence value of theplurality of confidence values that is associated with the first offerof the candidate set of offers at a predetermined decay rate over apredetermined time period, wherein the predetermined time period beginswhen the partially viewed content item was partially viewed; ranking thecandidate set of offers based on the associated confidence values; andcausing presentation of at least one offer of the candidate set ofoffers in a user interface screen on the media device based on theranking, so as to display in the user interface screen a set of theoffers that changes in real-time manner, the set of the offersincluding, for a duration less than or equal to the predetermined timeperiod, an offer to view a remainder of the partially viewed contentitem.
 8. The non-transitory computer-readable medium of claim 7, whereina predictive factor is triggered by at least one of (a) a day and timecombination associated with a user behavior associated with a particularcontent item, and (b) partially viewed duration time value associatedwith a particular content item.
 9. The non-transitory computer-readablemedium of claim 7, wherein generating a candidate set of offers to viewcontent further comprises: determining the candidate set of offers toview one or more recorded content items available on the media devicebased, at least in part, on the one or more predictive factorsassociated with the content including at least one or more of linearcontent, partially viewed content, over-the-top content, recorded assetcontent, content associated with a collection affinity value, or contentassociated with a genre affinity value; selecting the candidate set ofoffers based on a variety metric associated with each offer of thecandidate set of offers.
 10. The non-transitory computer-readable mediumof claim 7, wherein generating a candidate set of offers to view contentfurther comprises: determining a frequency of consumption rate based onuser watching behavior associated with a series; based on the frequencyof consumption rate, determining the candidate set of offers associatedwith the content including at least one or more of over-the-top contentor recorded asset content, the content further comprising a next episodein the series.
 11. The non-transitory computer-readable medium of claim7, further comprising: receiving user input associated with thepresentation of the at least one offer in the user interface screen onthe media device; updating one or more confidence values associated withthe one or more predictive factors associated with the at least oneoffer based on the user input.
 12. The non-transitory computer-readablemedium of claim 7, wherein causing presentation of at least one offer ofthe candidate set of offers in a user interface screen on the mediadevice further comprises: providing for display of the user interfacescreen on a display device communicatively coupled to the media device,the user interface screen including at least one of a feed, a carousel,or a notification screen.
 13. An apparatus comprising: a subsystem,implemented at least partially in hardware processor, that receives aninformation item triggering one or more predictive factors; a subsystem,implemented at least partially in hardware processor, that generates acandidate set of offers to view content at a media device based on theinformation item; a subsystem, implemented at least partially inhardware processor, that determines, based on the one or more predictivefactors, a plurality of confidence values, wherein each respectiveconfidence value of the plurality of confidence values is associatedwith each respective offer in the candidate set of offers; a subsystem,implemented at least partially in hardware processor, that in responseto determining that a content item corresponding to a first offer of thecandidate set of offers was partially viewed, boosts a first confidencevalue of the plurality of confidence values that is associated with thefirst offer of the candidate set of offers; a subsystem, implemented atleast partially in hardware processor, that decays after the boosting,the first confidence value of the plurality of confidence values that isassociated with the first offer of the candidate set of offers at apredetermined decay rate over a predetermined time period, wherein thepredetermined time period begins when the partially viewed content itemwas partially viewed; a subsystem, implemented at least partially inhardware processor, that ranks the candidate set of offers based on theassociated confidence values; and a subsystem, implemented at leastpartially in hardware processor, that causes presentation of at leastone offer of the candidate set of offers in a user interface screen onthe media device based on the ranking, so as to display in the userinterface screen a set of the offers that changes in real-time manner,the set of the offers including, for a duration less than or equal tothe predetermined time period, an offer to view a remainder of thepartially viewed content item.
 14. The apparatus of claim 13, wherein apredictive factor is triggered by at least one of (a) a day and timecombination associated with a user behavior associated with a particularcontent item, and (b) partially viewed duration time value associatedwith a particular content item.
 15. The apparatus of claim 13, whereingenerating a candidate set of offers to view content further comprises:determining the candidate set of offers to view one or more recordedcontent items available on the media device based, at least in part, onthe one or more predictive factors associated with the content includingat least one or more of linear content, partially viewed content,over-the-top content, recorded asset content, content associated with acollection affinity value, or content associated with a genre affinityvalue; selecting the candidate set of offers based on a variety metricassociated with each offer of the candidate set of offers.
 16. Theapparatus of claim 13, wherein generating a candidate set of offers toview content further comprises: determining a frequency of consumptionrate based on user watching behavior associated with a series; based onthe frequency of consumption rate, determining the candidate set ofoffers associated with the content including at least one or more ofover-the-top content or recorded asset content, the content furthercomprising a next episode in the series.
 17. The apparatus of claim 13,further comprising: a subsystem, implemented at least partially inhardware processor, that receives user input associated with thepresentation of the at least one offer in the user interface screen onthe media device; a subsystem, implemented at least partially inhardware, that updates one or more confidence values associated with theone or more predictive factors associated with the at least one offerbased on the user input.